package org.zfes.snowier.zbss.xzy.biz.solution.service;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import org.zfes.snowier.core.data.DataSet;
import org.zfes.snowier.core.data.SelectVo;
import org.zfes.snowier.zbss.xzy.biz.solution.model.AlgorithmConfigItem;
public interface IAlgorithmConfigItemService{

	
	
	 static final String sufix="000";
	
	 Optional<AlgorithmConfigItem> loadAlgorithmConfigItemById(Long id);
	
	 void createRootConfigItem(Long algorithmId);
	 
	 void createAlgorithmConfigItem(AlgorithmConfigItem algorithmConfigItem);
	
	 void updateAlgorithmConfigItem(AlgorithmConfigItem algorithmConfigItem);

	 
	 void deleteAlgorithmConfigItem(Long id);
	
	 DataSet loadAlgorithmConfigItemDataSet(Map<String, Object> params);
	 
	Optional<AlgorithmConfigItem> loadByAlgIdAndCode(Long algorithmId,java.lang.String code);
	
	Optional<AlgorithmConfigItem> loadByTreeCode(java.lang.String treeCode);
	
	List<AlgorithmConfigItem> loadByAlgorithmId(Long algorithmId, Byte status);

 	void setAlgorithmConfigItemStatus(Long id, Byte status);
 	
    List<SelectVo> loadAlgorithmConfigItemSelectVo(String keywords);

	
	
	
	List<AlgorithmConfigItem> loadChildrenByTreeCode(String treeCode);

	void setStatusByTreeCode(String treeCode, Byte status);

	Optional<AlgorithmConfigItem> loadRootConfigItemById(Long algorithmId);

    
}